package com.ccrfid.rmc6.pojo.dto.sync;

import com.ccrfid.rmc6.entity.personnel.PersonnelPrisonerView;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.sql.Date;
import java.sql.Timestamp;

//在押人员信息同步
public class SyncPrisonerDto {
    private String personnelName;   //姓名
    private String nameAcronym;     //姓名拼音缩写
    private Long cardNumber;     //手环编号
    private String personnelSn;     //在押人员编号
    private String idNumber;        //身份证号
    private Integer gender;         //性别：1-男；0-女
    private Date birthday;          //出生年月，格式：2018-01-01
    private String anotherName;             //别名
    private String dormCode;                //监室号

    private String ethnicGroupValue;        //民族value
    private String politicalStatusValue;    //政治面貌value
    private String nationalityValue;        //国籍value
    private String houseAddrValue;          //户籍所在地value
    private String houseDetailAddr;         //户籍详细地址
    private String identityValue;           //身份value
    private String workAddr;                //工作点位
    private String position;                //工作职务
    private String specialtyValue;          //特长value

    private String stageValue;              //诉讼阶段value
    private String resultValue;             //判决结果value
    private String caseTypeValue;           //案件类型value
    private String brief;                   //简要案情
    private String comeReasonValue;         //入所原因value
    private String jailTimeValue;           //刑期value
    private Timestamp comeTime;             //入所时间
    private Timestamp outTime;              //出所时间

    private String unifoNo;                 //番号
    private Date arrestDate;              //逮捕日期
    private Date imprisonLimit;           //关押期限
    private String handlingUnit;            //处理单位:如xx人民法院

    private String manageTypeValue;          //管理类型：重点/非重点
    private Integer isMajorCriminalOffender;    //是否重刑犯：1-是；0-否
    private Integer isFocusedPrisoner;         //是否重点看管人员：1-是；0-否
    private Integer isDeathPrisoner;           //是否死刑犯：1-是；0-否
    private Integer isInfectedPrisoner;        //是否传染病犯：1-是；0-否
    private Timestamp updateTime;               //同步时间戳

    private String stakeType;                   //分押类型
    private String historyCrime;                //四史
    private String dealWith;                    //处遇
    private String involvedCrime;               //五涉

    public SyncPrisonerDto() {
    }

    public SyncPrisonerDto(PersonnelPrisonerView prisonerView) {
        this.personnelName = prisonerView.getPersonnelName();
        this.nameAcronym = prisonerView.getNameAcronym();
        this.cardNumber = prisonerView.getCardNumber();
        this.personnelSn = prisonerView.getPersonnelSn();
        this.idNumber = prisonerView.getIdNumber();
        this.gender = prisonerView.getGender();
        this.birthday = prisonerView.getBirthday();
        this.anotherName = prisonerView.getAnotherName();
        this.dormCode = prisonerView.getDormCode();
        this.ethnicGroupValue = prisonerView.getEthnicGroupValue();
        this.politicalStatusValue = prisonerView.getPoliticalStatusValue();
        this.nationalityValue = prisonerView.getNationalityValue();
        this.houseAddrValue = prisonerView.getHouseAddrValue();
        this.houseDetailAddr = prisonerView.getHouseDetailAddr();
        this.identityValue = prisonerView.getIdentityValue();
        this.workAddr = prisonerView.getWorkAddr();
        this.position = prisonerView.getPosition();
        this.specialtyValue = prisonerView.getSpecialtyValue();
        this.stageValue = prisonerView.getStageValue();
        this.resultValue = prisonerView.getResultValue();
        this.caseTypeValue = prisonerView.getCaseTypeValue();
        this.brief = prisonerView.getBrief();
        this.comeReasonValue = prisonerView.getComeReasonValue();
        this.jailTimeValue = prisonerView.getJailTimeValue();
        this.comeTime = prisonerView.getComeTime();
        this.outTime = prisonerView.getOutTime();
        this.unifoNo = prisonerView.getUnifoNo();
        this.arrestDate = prisonerView.getArrestDate();
        this.imprisonLimit = prisonerView.getImprisonLimit();
        this.handlingUnit = prisonerView.getHandlingUnit();
        this.manageTypeValue = prisonerView.getManageTypeValue();
        this.isMajorCriminalOffender = prisonerView.getIsMajorCriminalOffender();
        this.isFocusedPrisoner = prisonerView.getIsFocusedPrisoner();
        this.isDeathPrisoner = prisonerView.getIsDeathPrisoner();
        this.isInfectedPrisoner = prisonerView.getIsInfectedPrisoner();
        this.updateTime = prisonerView.getUpdateTime();
        this.stakeType = prisonerView.getStakeType();
        this.historyCrime = prisonerView.getHistoryCrime();
        this.involvedCrime = prisonerView.getInvolvedCrime();
        this.dealWith = prisonerView.getDealWith();
    }

    public String getPersonnelName() {
        return personnelName;
    }

    public void setPersonnelName(String personnelName) {
        this.personnelName = personnelName;
    }

    public String getNameAcronym() {
        return nameAcronym;
    }

    public void setNameAcronym(String nameAcronym) {
        this.nameAcronym = nameAcronym;
    }

    public Long getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(Long cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getPersonnelSn() {
        return personnelSn;
    }

    public void setPersonnelSn(String personnelSn) {
        this.personnelSn = personnelSn;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getAnotherName() {
        return anotherName;
    }

    public void setAnotherName(String anotherName) {
        this.anotherName = anotherName;
    }

    public String getDormCode() {
        return dormCode;
    }

    public void setDormCode(String dormCode) {
        this.dormCode = dormCode;
    }

    public String getEthnicGroupValue() {
        return ethnicGroupValue;
    }

    public void setEthnicGroupValue(String ethnicGroupValue) {
        this.ethnicGroupValue = ethnicGroupValue;
    }

    public String getPoliticalStatusValue() {
        return politicalStatusValue;
    }

    public void setPoliticalStatusValue(String politicalStatusValue) {
        this.politicalStatusValue = politicalStatusValue;
    }

    public String getNationalityValue() {
        return nationalityValue;
    }

    public void setNationalityValue(String nationalityValue) {
        this.nationalityValue = nationalityValue;
    }

    public String getHouseAddrValue() {
        return houseAddrValue;
    }

    public void setHouseAddrValue(String houseAddrValue) {
        this.houseAddrValue = houseAddrValue;
    }

    public String getHouseDetailAddr() {
        return houseDetailAddr;
    }

    public void setHouseDetailAddr(String houseDetailAddr) {
        this.houseDetailAddr = houseDetailAddr;
    }

    public String getIdentityValue() {
        return identityValue;
    }

    public void setIdentityValue(String identityValue) {
        this.identityValue = identityValue;
    }

    public String getWorkAddr() {
        return workAddr;
    }

    public void setWorkAddr(String workAddr) {
        this.workAddr = workAddr;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getSpecialtyValue() {
        return specialtyValue;
    }

    public void setSpecialtyValue(String specialtyValue) {
        this.specialtyValue = specialtyValue;
    }

    public String getStageValue() {
        return stageValue;
    }

    public void setStageValue(String stageValue) {
        this.stageValue = stageValue;
    }

    public String getResultValue() {
        return resultValue;
    }

    public void setResultValue(String resultValue) {
        this.resultValue = resultValue;
    }

    public String getCaseTypeValue() {
        return caseTypeValue;
    }

    public void setCaseTypeValue(String caseTypeValue) {
        this.caseTypeValue = caseTypeValue;
    }

    public String getBrief() {
        return brief;
    }

    public void setBrief(String brief) {
        this.brief = brief;
    }

    public String getComeReasonValue() {
        return comeReasonValue;
    }

    public void setComeReasonValue(String comeReasonValue) {
        this.comeReasonValue = comeReasonValue;
    }

    public String getJailTimeValue() {
        return jailTimeValue;
    }

    public void setJailTimeValue(String jailTimeValue) {
        this.jailTimeValue = jailTimeValue;
    }

    public Timestamp getComeTime() {
        return comeTime;
    }

    public void setComeTime(Timestamp comeTime) {
        this.comeTime = comeTime;
    }

    public Timestamp getOutTime() {
        return outTime;
    }

    public void setOutTime(Timestamp outTime) {
        this.outTime = outTime;
    }

    public String getUnifoNo() {
        return unifoNo;
    }

    public void setUnifoNo(String unifoNo) {
        this.unifoNo = unifoNo;
    }

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    public Date getArrestDate() {
        return arrestDate;
    }

    public void setArrestDate(Date arrestDate) {
        this.arrestDate = arrestDate;
    }

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    public Date getImprisonLimit() {
        return imprisonLimit;
    }

    public void setImprisonLimit(Date imprisonLimit) {
        this.imprisonLimit = imprisonLimit;
    }

    public String getHandlingUnit() {
        return handlingUnit;
    }

    public void setHandlingUnit(String handlingUnit) {
        this.handlingUnit = handlingUnit;
    }

    public String getManageTypeValue() {
        return manageTypeValue;
    }

    public void setManageTypeValue(String manageTypeValue) {
        this.manageTypeValue = manageTypeValue;
    }

    public Integer getIsMajorCriminalOffender() {
        return isMajorCriminalOffender;
    }

    public void setIsMajorCriminalOffender(Integer isMajorCriminalOffender) {
        this.isMajorCriminalOffender = isMajorCriminalOffender;
    }

    public Integer getIsFocusedPrisoner() {
        return isFocusedPrisoner;
    }

    public void setIsFocusedPrisoner(Integer isFocusedPrisoner) {
        this.isFocusedPrisoner = isFocusedPrisoner;
    }

    public Integer getIsDeathPrisoner() {
        return isDeathPrisoner;
    }

    public void setIsDeathPrisoner(Integer isDeathPrisoner) {
        this.isDeathPrisoner = isDeathPrisoner;
    }

    public Integer getIsInfectedPrisoner() {
        return isInfectedPrisoner;
    }

    public void setIsInfectedPrisoner(Integer isInfectedPrisoner) {
        this.isInfectedPrisoner = isInfectedPrisoner;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public String getStakeType() {
        return stakeType;
    }

    public void setStakeType(String stakeType) {
        this.stakeType = stakeType;
    }

    public String getHistoryCrime() {
        return historyCrime;
    }

    public void setHistoryCrime(String historyCrime) {
        this.historyCrime = historyCrime;
    }

    public String getDealWith() {
        return dealWith;
    }

    public void setDealWith(String dealWith) {
        this.dealWith = dealWith;
    }

    public String getInvolvedCrime() {
        return involvedCrime;
    }

    public void setInvolvedCrime(String involvedCrime) {
        this.involvedCrime = involvedCrime;
    }


    @Override
    public String toString() {
        return "SyncPrisonerDto{" +
                "personnelName='" + personnelName + '\'' +
                ", nameAcronym='" + nameAcronym + '\'' +
                ", cardNumber=" + cardNumber +
                ", personnelSn='" + personnelSn + '\'' +
                ", idNumber='" + idNumber + '\'' +
                ", gender=" + gender +
                ", birthday=" + birthday +
                ", anotherName='" + anotherName + '\'' +
                ", dormCode='" + dormCode + '\'' +
                ", ethnicGroupValue='" + ethnicGroupValue + '\'' +
                ", politicalStatusValue='" + politicalStatusValue + '\'' +
                ", nationalityValue='" + nationalityValue + '\'' +
                ", houseAddrValue='" + houseAddrValue + '\'' +
                ", houseDetailAddr='" + houseDetailAddr + '\'' +
                ", identityValue='" + identityValue + '\'' +
                ", workAddr='" + workAddr + '\'' +
                ", position='" + position + '\'' +
                ", specialtyValue='" + specialtyValue + '\'' +
                ", stageValue='" + stageValue + '\'' +
                ", resultValue='" + resultValue + '\'' +
                ", caseTypeValue='" + caseTypeValue + '\'' +
                ", brief='" + brief + '\'' +
                ", comeReasonValue='" + comeReasonValue + '\'' +
                ", jailTimeValue='" + jailTimeValue + '\'' +
                ", comeTime=" + comeTime +
                ", outTime=" + outTime +
                ", unifoNo='" + unifoNo + '\'' +
                ", arrestDate=" + arrestDate +
                ", imprisonLimit=" + imprisonLimit +
                ", handlingUnit='" + handlingUnit + '\'' +
                ", manageTypeValue='" + manageTypeValue + '\'' +
                ", isMajorCriminalOffender=" + isMajorCriminalOffender +
                ", isFocusedPrisoner=" + isFocusedPrisoner +
                ", isDeathPrisoner=" + isDeathPrisoner +
                ", isInfectedPrisoner=" + isInfectedPrisoner +
                ", stakeType=" + stakeType +
                ", historyCrime=" + historyCrime +
                ", dealWith=" + dealWith +
                ", involvedCrime=" + involvedCrime +
                ", updateTime=" + updateTime +
                '}';
    }
}
